﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Data;
using Bussiness;

namespace hostal
{
    public partial class Limpieza : Form
    {
        DataTable dataTableTemporal = new DataTable();
        string fechaRegistro;
        private manejadorFechas fechas = new manejadorFechas();

        public Limpieza()
        {
            InitializeComponent();

            /*fechaRegistro = fechas.crearFechaActual();

            LimpiezaDataAccess habitacionesLimpieza = new LimpiezaDataAccess();
            dataTableTemporal=habitacionesLimpieza.obtenerEstado();

            DGHabitaciones.Columns.Add("numeroHabitacion", "numero habitacion");

            DataGridViewCheckBoxColumn limpiezaTotal=new DataGridViewCheckBoxColumn ();
            limpiezaTotal.DataPropertyName = "limpiezaTotal";
            limpiezaTotal.HeaderText = "limpieza total";
            DGHabitaciones.Columns.Add(limpiezaTotal);

            DataGridViewCheckBoxColumn limpiezaParcial = new DataGridViewCheckBoxColumn();
            limpiezaParcial.DataPropertyName = "limpiezaParcial";
            limpiezaParcial.HeaderText = "limpieza parcial";
            DGHabitaciones.Columns.Add(limpiezaParcial);

            for (int i = 0; i < dataTableTemporal.Rows.Count; i++)
            {
                DataRow row;
                row = dataTableTemporal.Rows[i];
                DGHabitaciones.Rows.Add("", checked(false), checked(false));
                DGHabitaciones.Rows[i].Cells["numeroHabitacion"].Value = (Convert.ToString(row["numeroHabitacion"]));
                DGHabitaciones.Rows[i].Cells["numeroHabitacion"].ReadOnly = true;
                try
                {
                    //if (Convert.ToDateTime(row["fechaRegistro"]) <= Convert.ToDateTime(fechaRegistro))
                    if (!fechas.fechaMayor(fechaRegistro,row["fechaRegistro"].ToString()))
                    {
                        if ((Convert.ToString(row["total"])) == "si")
                            DGHabitaciones.Rows[i].Cells[1].Value = checked(true);
                        if ((Convert.ToString(row["parcial"])) == "si")
                            DGHabitaciones.Rows[i].Cells[2].Value = checked(true);
                    }
                }
                catch (Exception exp) { }
            }*/
        }

        private void BTCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void BTGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                LimpiezaDataAccess habitacionesLimpieza = new LimpiezaDataAccess();

                for (int i = 0; i < DGHabitaciones.Rows.Count; i++)
                {
                    /*if (DGHabitaciones.Rows[i].Cells[1].Value.ToString() == true.ToString())
                        habitacionesLimpieza.actualizarTotal(DGHabitaciones.Rows[i].Cells["numeroHabitacion"].Value.ToString(), fechaRegistro);
                    else
                    {*/
                    if (DGHabitaciones.Rows[i].Cells[2].Value.ToString() == true.ToString())
                    {
                        //if (DGHabitaciones.Rows[i].Cells[1].Value.ToString() == parcial)
                            habitacionesLimpieza.actualizarSucio(DGHabitaciones.Rows[i].Cells["numeroHabitacion"].Value.ToString(), fechaRegistro);
                    }
                    //else
                        //habitacionesLimpieza.actualizarSucio(DGHabitaciones.Rows[i].Cells["numeroHabitacion"].Value.ToString(), fechaRegistro);
                    //}
                }
                MessageBox.Show("Se realizaron los cambios de limpieza");
                this.Close();
            }
            catch (Exception exp) { }
        }

        private void DGHabitaciones_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            /*try
            {
                int columna = DGHabitaciones.CurrentCell.ColumnIndex;
                if(columna==1)
                    DGHabitaciones.CurrentRow.Cells[2].Value = checked(false);
                else
                {
                    if (columna == 2)
                        DGHabitaciones.CurrentRow.Cells[1].Value = checked(false);
                }
            }
            catch (Exception exp) { }*/
        }

        private void Limpieza_Load(object sender, EventArgs e)
        {
            fechaRegistro = fechas.crearFechaActual();

            LimpiezaDataAccess habitacionesLimpieza = new LimpiezaDataAccess();
            dataTableTemporal = habitacionesLimpieza.obtenerEstado();

            DGHabitaciones.Columns.Add("numeroHabitacion", "numero habitacion");

            DGHabitaciones.Columns.Add("tipoLimpieza", "Tipo Limpieza");

            DataGridViewCheckBoxColumn Registrar = new DataGridViewCheckBoxColumn();
            Registrar.DataPropertyName = "registrar";
            Registrar.HeaderText = "Registrar";
            DGHabitaciones.Columns.Add(Registrar);

            /*DataGridViewCheckBoxColumn limpiezaTotal = new DataGridViewCheckBoxColumn();
            limpiezaTotal.DataPropertyName = "limpiezaTotal";
            limpiezaTotal.HeaderText = "limpieza total";
            DGHabitaciones.Columns.Add(limpiezaTotal);

            DataGridViewCheckBoxColumn limpiezaParcial = new DataGridViewCheckBoxColumn();
            limpiezaParcial.DataPropertyName = "limpiezaParcial";
            limpiezaParcial.HeaderText = "limpieza parcial";
            DGHabitaciones.Columns.Add(limpiezaParcial);*/
            int ultimo = 0;
            for (int i = 0; i < dataTableTemporal.Rows.Count; i++)
            {
                /*DataRow row;
                row = dataTableTemporal.Rows[i];
                DGHabitaciones.Rows.Add("", checked(false), checked(false));
                DGHabitaciones.Rows[i].Cells["numeroHabitacion"].Value = (Convert.ToString(row["numeroHabitacion"]));
                DGHabitaciones.Rows[i].Cells["numeroHabitacion"].ReadOnly = true;
                try
                {
                    //if (Convert.ToDateTime(row["fechaRegistro"]) <= Convert.ToDateTime(fechaRegistro))
                    if (!fechas.fechaMayor(fechaRegistro, row["fechaRegistro"].ToString()))
                    {
                        if ((Convert.ToString(row["total"])) == "si")
                            DGHabitaciones.Rows[i].Cells[1].Value = checked(true);
                        if ((Convert.ToString(row["parcial"])) == "si")
                            DGHabitaciones.Rows[i].Cells[2].Value = checked(true);
                    }
                }
                catch (Exception exp) { }*/

                DataRow row;
                row = dataTableTemporal.Rows[i];
                try
                {
                    //if (Convert.ToDateTime(row["fechaRegistro"]) <= Convert.ToDateTime(fechaRegistro))
                    if (!fechas.fechaMayor(fechaRegistro, row["fechaRegistro"].ToString()))
                    {
                        if ((Convert.ToString(row["total"])) == "si")
                        {
                            DGHabitaciones.Rows.Add((Convert.ToString(row["numeroHabitacion"])), "total", checked(false));
                            DGHabitaciones.Rows[ultimo].Cells["numeroHabitacion"].ReadOnly = true;
                            DGHabitaciones.Rows[ultimo].Cells["tipoLimpieza"].ReadOnly = true;
                            ultimo++;
                            /*DGHabitaciones.Rows[i].Cells["numeroHabitacion"].Value = (Convert.ToString(row["numeroHabitacion"]));
                            DGHabitaciones.Rows[i].Cells["numeroHabitacion"].ReadOnly = true;*/
                        }
                        else
                        {
                            if ((Convert.ToString(row["parcial"])) == "si")
                            {
                                DGHabitaciones.Rows.Add((Convert.ToString(row["numeroHabitacion"])), "parcial", checked(false));
                                DGHabitaciones.Rows[ultimo].Cells["numeroHabitacion"].ReadOnly = true;
                                DGHabitaciones.Rows[ultimo].Cells["tipoLimpieza"].ReadOnly = true;
                                ultimo++;
                                /*DGHabitaciones.Rows[i].Cells["numeroHabitacion"].Value = (Convert.ToString(row["numeroHabitacion"]));
                                DGHabitaciones.Rows[i].Cells["numeroHabitacion"].ReadOnly = true;*/
                            }
                        }
                    }
                    else
                    {
                        if ((Convert.ToString(row["total"])) == "si")
                        {
                            DGHabitaciones.Rows.Add((Convert.ToString(row["numeroHabitacion"])), "total", checked(false));
                            DGHabitaciones.Rows[ultimo].Cells["numeroHabitacion"].ReadOnly = true;
                            DGHabitaciones.Rows[ultimo].Cells["tipoLimpieza"].ReadOnly = true;
                            ultimo++;
                            /*DGHabitaciones.Rows[i].Cells["numeroHabitacion"].Value = (Convert.ToString(row["numeroHabitacion"]));
                            DGHabitaciones.Rows[i].Cells["numeroHabitacion"].ReadOnly = true;*/
                        }
                        else
                        {
                            DGHabitaciones.Rows.Add((Convert.ToString(row["numeroHabitacion"])), "parcial", checked(false));
                            DGHabitaciones.Rows[ultimo].Cells["numeroHabitacion"].ReadOnly = true;
                            DGHabitaciones.Rows[ultimo].Cells["tipoLimpieza"].ReadOnly = true;
                            ultimo++;
                            /*DGHabitaciones.Rows[i].Cells["numeroHabitacion"].Value = (Convert.ToString(row["numeroHabitacion"]));
                            DGHabitaciones.Rows[i].Cells["numeroHabitacion"].ReadOnly = true;*/
                        }
                    }
                }
                catch (Exception exp) { }
            }
        }
    }
}
